package com.xnet.datahandler.enums;

import java.util.HashMap;
import java.util.Map;

/**
* 导入方式枚举
* @author 目田
* 2016年12月24日
*/
public enum ImportMode {
	
	GROUP_BY(1, "按列分组插入(GroupBy)");
	
	private Integer id;
	private String name;
	
	private ImportMode(Integer id, String name) {
		this.id = id;
		this.name = name;
	}
	
	/**
	 * 获得包含所有枚举值的Map
	 * @return
	 */
	public static Map<Integer, String> getMap(){
		Map<Integer, String> map = new HashMap<>();
		ImportMode[] modes = ImportMode.values();
		for(ImportMode mode : modes) {
			map.put(mode.getId(), mode.getName());
		}
		return map;
	}
	
	/**
	 * 获得包含所有枚举值的Map,key为String类型
	 * @return
	 */
	public static Map<String, String> getMapWithStringKey(){
		Map<String, String> map = new HashMap<>();
		ImportMode[] modes = ImportMode.values();
		for(ImportMode mode : modes) {
			map.put(String.valueOf(mode.getId()), mode.getName());
		}
		return map;
	}
	
	/**
	 * 按id获取枚举值名称
	 * @param id
	 * @return
	 */
	public static String getName(Integer id){
		return getMap().get(id);
	}

	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public String getName() {
		return name;
	}

	public void setName(String name) {
		this.name = name;
	}
	
	
}
